package com.cike.productmanager.DBHelper;

import java.util.List;

public interface IEntityServer extends IBaseServer{
	
	/*******************************************************************************************
	 *          查找接口                By ADao12 2013.03.06
	 *******************************************************************************************/
	/**
	 * 获得所有历史反馈（活动、合同）
	 * @return 历史反馈数量
	 */
	public abstract int getHistoricalFeedback(int entityType, int entityId);
	
	/**
	 * 获得所有历史反馈列表（活动、合同）
	 * @return 历史反馈列表
	 */
	public abstract List getHistoricalFeedbackList(int entityType, int entityId);
	
	/**
	 * 获得实体属性的信息（门店、活动、合同、用户、采购经理、陈列指引、活动反馈、合同反馈）
	 * @return 实体
	 */
	public abstract Object getEntityInfo();
	
	/**
	 * 获得实体对应的陈列指引（门店、活动、合同、用户、采购经理）
	 * @return 陈列指引ID
	 */
	public abstract int getDisplayGuideID();
	
	/**
	 * 获得该实体的所属的门店ID（用户、采购经理）
	 * @return 门店ID
	 */
	public abstract int getStroeList();
	
	
	/**
	 * 查找其所属活动列表（门店、用户）
	 * @return
	 */
	public abstract List getActivityList();
	
	/**
	 * 查找其所属合同列表（门店、用户）
	 * @return
	 */
	public abstract List getContractList();
	
	/**
	 * 查找其所属门店列表（用户、采购经理）
	 * @return
	 */
	public abstract List getStoreList();
	
	/**
	 * 查找未过期陈列指引
	 * @return
	 */
	public abstract List getUnexpiredDisplayGuide();

	/**
	 * Belong to Feedback
	 */
    public abstract int getParentId();
	
	public abstract int getUserId();
	
	/**
	 * 查找未完成实体（活动或合同）列表
	 * @param entityType 活动或合同的类型
	 * @param storeID  门店ID（不一定必须要有的）
	 * @return 门店
	 */
	public abstract List getFinishedEntityList(int entityType, int storeID);
	
	/**
	 * 查找未完成实体（活动或合同）列表
	 * @param entityType 活动或合同的类型
	 * @param storeID  门店ID（不一定必须要有的）
	 * @return 门店
	 */
	public abstract List getUnfinishedEntityList(int entityType, int stroeID);
	
	/**
	 * 查找其陈列指引信息（门店、合同、活动、用户、采购经理）
	 * @param entityType
	 * @param storeID
	 * @return
	 */
	public abstract List getDisplayGuideList(int entityType, int storeID);
	
	/**
	 * 查找门店负责人
	 * @param entityType
	 * @param storeID
	 * @return
	 */
	public abstract List getStoreResponsiblePerson(int entityType, int storeID);
	
	/**
	 * 查找区域经理
	 * @param entityType
	 * @param storeID
	 * @return
	 */
	public abstract List getAreaManager(int entityType, int storeID);
	
	/**
	 * 查找门店所属采购经理
	 * @param entityType
	 * @param storeID
	 * @return
	 */
	public abstract List getCustomerAreaManager(int entityType, int storeID);
	
	/**
	 * 查找门店理货员（门店、活动、合同）
	 * @param entityType
	 * @param storeID
	 * @return
	 */
	public abstract List getTallyMan(int entityType, int storeID);
	
	/**
	 * 查找门店所属客户的经理
	 * @return
	 */
	public abstract List getPermissionList();
	
}
